package jugadorVirtual;

import entidades.Jugador;
import gestion.comunicacion.ClienteVirtual;
import java.util.ArrayList;
import javax.swing.JRadioButton;

public class ElegirColor {

    private ArrayList<JRadioButton> arrayJRB;
    private ClienteVirtual cli;
    private static int virtual = 0;
    private String usuario;

    public ElegirColor() {
        virtual++;
        this.usuario = "@PC_" + virtual;
        initPropio();
    }

    public void seleccionColoresOcupados(ArrayList<String> contenidoLineaEntrada) {
        int cantidadUsuarios = Integer.parseInt(contenidoLineaEntrada.get(1));
        int contColor = 2;
        int contNombre = 3;
        for (int i = 0; i < cantidadUsuarios; i++) {
            for (int j = 0; j < arrayJRB.size(); j++) {
                if (arrayJRB.get(j).getName().compareTo(contenidoLineaEntrada.get(contColor)) == 0) {
                    arrayJRB.get(j).setText("" + contenidoLineaEntrada.get(contNombre));
                    arrayJRB.get(j).setEnabled(false);
                }
            }
            contColor += 2;
            contNombre += 2;
        }
        this.jB_aceptarActionPerformed();
    }

    private void jB_aceptarActionPerformed() {
        boolean eligio = false;
        for (int i = 0; i < arrayJRB.size(); i++) {
            if (arrayJRB.get(i).isEnabled() && !eligio) {
                eligio = true;
                cli.avisarSeleccionColor(arrayJRB.get(i).getName(), usuario);
                arrayJRB.get(i).setText("" + usuario);
            }
            arrayJRB.get(i).setEnabled(false);
        }
    }

    public void seleccionColor(ArrayList<String> contenidoLineaEntrada) {
        String color = contenidoLineaEntrada.get(1);
        String usuario = contenidoLineaEntrada.get(2);
        for (int i = 0; i < arrayJRB.size(); i++) {
            if (arrayJRB.get(i).getName().compareTo(color) == 0) {
                arrayJRB.get(i).setText("" + usuario);
                arrayJRB.get(i).setEnabled(false);
            }
        }
    }

    private void initPropio() {
        arrayJRB = new ArrayList();
        JRadioButton jRB_amarillo = new JRadioButton();
        jRB_amarillo.setName("Amarillo");
        arrayJRB.add(jRB_amarillo);

        JRadioButton jRB_azul = new JRadioButton();
        jRB_azul.setName("Azul");
        arrayJRB.add(jRB_azul);

        JRadioButton jRB_magenta = new JRadioButton();
        jRB_magenta.setName("Magenta");
        arrayJRB.add(jRB_magenta);

        JRadioButton jRB_negro = new JRadioButton();
        jRB_negro.setName("Negro");
        arrayJRB.add(jRB_negro);

        JRadioButton jRB_rojo = new JRadioButton();
        jRB_rojo.setName("Rojo");
        arrayJRB.add(jRB_rojo);

        JRadioButton jRB_verde = new JRadioButton();
        jRB_verde.setName("Verde");
        arrayJRB.add(jRB_verde);
    }

    public void iniciarPartida(ArrayList<Jugador> jugadores, int[] paises, int jugadorComienzaRonda, int misionPropia, int[] tarjetas,int tipoMis) {
        Principal p = new Principal(cli, jugadores, paises, jugadorComienzaRonda, misionPropia, tarjetas,tipoMis);
    }

    public void setCliente(ClienteVirtual cli) {
         this.cli = cli;
    }
    
}